package com.joker.aigc.blog.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.joker.aigc.blog.domain.dto.ArticleDTO;
import com.joker.aigc.blog.domain.dto.ArticleQueryDTO;
import com.joker.aigc.blog.domain.po.ArticlePO;
import com.joker.aigc.blog.domain.vo.ArticleVO;

/**
 * @author luckincoffee
 * @description 针对表【article(文章表)】的数据库操作Service
 * @createDate 2025-01-05 17:09:39
 */
public interface ArticleService extends IService<ArticlePO> {

    /**
     * 根据id获取文章
     *
     * @param id 文章id
     * @return Article
     */
    ArticleVO getArticleById(Long id);

    /**
     * 分页获取文章列表
     *
     * @param articleQueryDTO 查询条件
     * @return Article
     */
    Page<ArticleVO> getArticlePage(ArticleQueryDTO articleQueryDTO);


    /**
     * 添加文章
     *
     * @param articleDTO 文章信息
     */
    ArticleVO addArticle(ArticleDTO articleDTO);

    /**
     * 修改文章
     *
     * @param articleDTO 文章信息
     */
    void updateArticle(ArticleDTO articleDTO);

    /**
     * 删除文章
     *
     * @param id 文章id
     */
    void deleteArticle(Long id);


}
